草庐IT

c++ - 特化 std::make_shared

全部标签

c++ - Vista 中的 C/C++ 编程

关闭。这个问题不符合StackOverflowguidelines.它目前不接受答案。我们不允许提问寻求书籍、工具、软件库等的推荐。您可以编辑问题,以便用事实和引用来回答。关闭2年前。Improvethisquestion我来自Java学校,但我也想亲body验C/C++开发。你能建议:轻量级初学者IDE[例如:JCreatorforJava](简单且小的下载)成熟的高级IDE[例如:EclipseforJava](每个功能和大量下载)我应该使用GCC还是其他编译器?非常感谢你们!

c++ - 将 short int 复制到 char 数组

我有一个名为s_int的短整型变量,其值为2unsighedshorts_int=2;我想将这个数字复制到一个char数组到char数组的第一个和第二个位置。假设我们有charbuffer[10];。我们希望将s_int的两个字节复制到buffer[0]和buffer[1]。我该怎么做? 最佳答案 执行此操作的通常方法是使用按位运算符对其进行切片和切block,一次一个字节:b[0]=si&0xff;b[1]=(si>>8)&0xff;尽管这实际上应该在unsignedchar中完成,而不是普通的char,因为它们在大多数系统上都已

c++ - 使用带有填充零的 printf 按顺序打印数字

在C++中,我想使用printf打印一个数字序列,所以我从“for”循环中得到;12...91011然后我根据这些数字创建文件。但是当我使用“ls”列出它们时,我得到了101112..所以我没有尝试使用bash来解决问题,而是想知道如何打印;00010002...000900100011等等谢谢 最佳答案 i=45;printf("%04i",i);=>0045基本上,0告诉printf用'0'填充,4是位数,'i'是整数的占位符(您也可以使用'd')。参见Wikipedia关于格式占位符。

c++ - 弄清楚晦涩的指针typedef

typedefsolution_type(*algorithm_ptr_type)(problem_typeproblem,void(*post_evaluation_callback)(void*move,intscore)/*=NULL*/);请帮帮我!谢谢 最佳答案 这意味着,algorithm_ptr_type是一个指向返回solution_type的函数的指针,其参数为:问题problem_typepost_evaluation_callback这又是一个函数指针,它接受两个参数(void*和int),并返回void.同样

c++ - 寻找指针的来源

很难说出这里要问什么。这个问题模棱两可、含糊不清、不完整、过于宽泛或夸夸其谈,无法以目前的形式得到合理的回答。如需帮助澄清此问题以便重新打开,visitthehelpcenter.关闭11年前。如果你有一个object1和一个指向object2的指针,而我们当前在Object2中,那么我们可以从object2到达object1吗?如何?(OBJECT1)-------->(OBJECT2)wearehereandwedon'tknowwhere/whatOBJECT1is

c++ - C++ 中 std::vector 的基本问题

C++教科书和线程,例如these说vector元素在内存中是物理上连续的。但是当我们执行像v.push_back(3.14)这样的操作时,我会假设STL正在使用new运算符来获取更多内存来存储新元素3.14引入到载体中。现在假设大小为4的vector存储在标记为0x7,0x8,0x9,0xA的计算机存储单元中。如果单元格0xB包含一些其他不相关的数据,3.14将如何进入该单元格?这是否意味着单元格0xB将被复制到其他地方,并被删除以为3.14腾出空间? 最佳答案 简短的回答是将保存vector数据的整个数组移动到它有空间增长的位置

c++ - C/C++ : size of a typedef struct containing an int and enum == sizeof(int)?

我在我的Ubuntu(i686)上使用gcc版本4.3.3。我写了一个精简的测试程序来描述我缺乏理解和我的问题。该程序应告诉我我实现的结构的大小。所以我有一个typedefstruct用于Message和一个小的main来玩:#includetypedefstruct{intsize;enum{token=0x123456};}Message;intmain(intargc,char*argv[]){Messagem;m.size=30;printf("sizeof(int):%d\n",sizeof(int));printf("sizeof(0x123456):%d\n",sizeo

c++ - 返回 std::string 的函数在没有 return 语句的情况下崩溃,这与返回 int 且没有 return 语句的函数不同

#include#includeusingnamespacestd;stringcrash(){}intnoCrash(){}intmain(){crash();//crashes//noCrash();//doesn'tcrashreturn0;}函数crash()在Mingwg++4.6.2中崩溃,函数noCrash()执行时没有问题。为什么没有return语句返回字符串的函数会崩溃? 最佳答案 两者都是未定义的行为,即使是noCrash也会崩溃。 关于c++-返回std::stri

c++ - 为什么我在 C++ 中得到 "error: expected ' }'"但在 C 中却没有?

当我在以下C++源代码中编译时,我得到了"error:expected'}'"'^'指向的地方:typedefenum{false,true}Boolean;^当我将其编译为C源代码时,我没有收到此错误。这是什么原因?我很难过! 最佳答案 false和true是C++关键字,因此您不能将它们用作enum标识符。在C中,它们不是关键字,因此您的代码可以工作,但如果您包含那么它将无法编译,因为该header定义了false和true作为宏。请注意,您可能不应该自己实现boolean类型。C++已经有了bool类型,如果您使用的是C99编

c++ - 双瓶颈,如何改善?

我需要提高以下代码的性能(IntelIvyBridge,x64):unsignedintdelta;unsignedinta[100];unsignedintb[100];...doublesum=0;for(inti=0;i=sum;真正的瓶颈是double并使执行时间增加3倍。a[index]将是0到500m之间的任何值。b[index]将从0到500。问:在这段代码的两次调用之间,数组a和b是如何修改的?在每次调用中,唯一的区别是a[index]++;其中0b总是相同。delta也没有改变。由于结果与另一个数字进行比较并存储为bool值,因此我绝对需要尽可能高的精度。这就是为什么